Search Results: "pino"

27 December 2010

Jose Luis Rivas Contreras: Follow-up: pino0.3+cmake (and now librest)

Last night I made some changes to what I made for compiling pino0.3: patched CMakeLists.txt so uses rest-0.7 and rest-extras-0.7 and now the last issue is not a problem anymore, but now the error is that can t found them while compiling (here s in paste.debian if you can t see it nicely formatted):
/usr/bin/cmake -E cmake_progress_report "/tmp/buildd/pino-0.3+hg~20101225/obj-i486-linux-gnu/CMakeFiles" 47
[  2%] Generating src/stream_abstract.c, src/globals.c, src/twitter_favorites_stream.c, src/meta_row.c, src/search_interface.c, src/search_dialog.c, src/text_input.c, src/template.c, src/identica_create_dialog.c, src/updates_cell_renderer.c, src/stream_state.c, src/twitter_stream_mentions.c, src/accounts.c, src/accounts_types.c, src/main.c, src/hig_table.c, src/main_window.c, src/twitter_parser.c, src/twitter_recursive_reply.c, src/utils.c, src/identica_account.c, src/settings.c, src/visual_style.c, src/status_choose_bar.c, src/time_utils.c, src/status_box.c, src/menu_indicator.c, src/account_abstract.c, src/stream_meta.c, src/streams_types.c, src/content_view.c, src/img_cache.c, src/tree_widget.c, src/twitter_stream_public.c, src/icon_with_status_cell_renderer.c, src/account_state.c, src/create_dialog_generic.c, src/twitter_create_dialog.c, src/twitter_stream_abstract.c, src/status.c, src/twitter_stream_home.c, src/twitter_account.c, src/pino_enums.c, src/twitter_stream_search.c
/usr/bin/valac -C -b /tmp/buildd/pino-0.3+hg~20101225 -d /tmp/buildd/pino-0.3+hg~20101225/obj-i486-linux-gnu --pkg=glib-2.0 --pkg=gobject-2.0 --pkg=gtk+-2.0 --pkg=gee-1.0 --pkg=gio-2.0 --pkg=libnotify --pkg=libsoup-2.4 --pkg=libxml-2.0 --pkg=webkit-1.0 --pkg=unique-1.0 --pkg=rest-0.7 --pkg=rest-extras-0.7 --thread -g --save-temps -D LIBINDICATE /tmp/buildd/pino-0.3+hg~20101225/src/stream_abstract.vala /tmp/buildd/pino-0.3+hg~20101225/src/globals.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_favorites_stream.vala /tmp/buildd/pino-0.3+hg~20101225/src/meta_row.vala /tmp/buildd/pino-0.3+hg~20101225/src/search_interface.vala /tmp/buildd/pino-0.3+hg~20101225/src/search_dialog.vala /tmp/buildd/pino-0.3+hg~20101225/src/text_input.vala /tmp/buildd/pino-0.3+hg~20101225/src/template.vala /tmp/buildd/pino-0.3+hg~20101225/src/identica_create_dialog.vala /tmp/buildd/pino-0.3+hg~20101225/src/updates_cell_renderer.vala /tmp/buildd/pino-0.3+hg~20101225/src/stream_state.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_stream_mentions.vala /tmp/buildd/pino-0.3+hg~20101225/src/accounts.vala /tmp/buildd/pino-0.3+hg~20101225/src/accounts_types.vala /tmp/buildd/pino-0.3+hg~20101225/src/main.vala /tmp/buildd/pino-0.3+hg~20101225/src/hig_table.vala /tmp/buildd/pino-0.3+hg~20101225/src/main_window.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_parser.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_recursive_reply.vala /tmp/buildd/pino-0.3+hg~20101225/src/utils.vala /tmp/buildd/pino-0.3+hg~20101225/src/identica_account.vala /tmp/buildd/pino-0.3+hg~20101225/src/settings.vala /tmp/buildd/pino-0.3+hg~20101225/src/visual_style.vala /tmp/buildd/pino-0.3+hg~20101225/src/status_choose_bar.vala /tmp/buildd/pino-0.3+hg~20101225/src/time_utils.vala /tmp/buildd/pino-0.3+hg~20101225/src/status_box.vala /tmp/buildd/pino-0.3+hg~20101225/src/menu_indicator.vala /tmp/buildd/pino-0.3+hg~20101225/src/account_abstract.vala /tmp/buildd/pino-0.3+hg~20101225/src/stream_meta.vala /tmp/buildd/pino-0.3+hg~20101225/src/streams_types.vala /tmp/buildd/pino-0.3+hg~20101225/src/content_view.vala /tmp/buildd/pino-0.3+hg~20101225/src/img_cache.vala /tmp/buildd/pino-0.3+hg~20101225/src/tree_widget.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_stream_public.vala /tmp/buildd/pino-0.3+hg~20101225/src/icon_with_status_cell_renderer.vala /tmp/buildd/pino-0.3+hg~20101225/src/account_state.vala /tmp/buildd/pino-0.3+hg~20101225/src/create_dialog_generic.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_create_dialog.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_stream_abstract.vala /tmp/buildd/pino-0.3+hg~20101225/src/status.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_stream_home.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_account.vala /tmp/buildd/pino-0.3+hg~20101225/src/pino_enums.vala /tmp/buildd/pino-0.3+hg~20101225/src/twitter_stream_search.vala /tmp/buildd/pino-0.3+hg~20101225/src/vapi/config.vapi
error: rest-0.7 not found in specified Vala API directories or GObject-Introspection GIR directories
error: rest-extras-0.7 not found in specified Vala API directories or GObject-Introspection GIR directories
Compilation failed: 2 error(s), 0 warning(s)
make[3]: *** [src/stream_abstract.c] Error 1
make[3]: Leaving directory  /tmp/buildd/pino-0.3+hg~20101225/obj-i486-linux-gnu'
make[2]: *** [CMakeFiles/pino.dir/all] Error 2
make[2]: Leaving directory  /tmp/buildd/pino-0.3+hg~20101225/obj-i486-linux-gnu'
make[1]: *** [all] Error 2
make[1]: Leaving directory  /tmp/buildd/pino-0.3+hg~20101225/obj-i486-linux-gnu'
dh_auto_build: make -j1 returned exit code 2
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
E: Failed autobuilding of package
I: unmounting /var/cache/pbuilder/ccache filesystem
I checked and found out that librest doesn t ships the gir files so downloaded sources for librest and made a patched version that ships gir files (rest and rest-extras) but nothing changed. Any suggests, anyone?

26 December 2010

Jose Luis Rivas Contreras: Dear lazyweb: cmake + pino 0.3 little issue

I was trying to build pino 0.3 with the help of debian-sources of pino 0.2+ and found myself with this little issue:
-- checking for module 'unique-1.0 >= 1.0'
--   found unique-1.0 , version 1.1.6
-- checking for module 'gtkspell-2.0 >= 2.0'
--   found gtkspell-2.0 , version 2.0.16
-- checking for module 'rest-0.6 >= 0.6'
--   package 'rest-0.6 >= 0.6' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:266 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:320 (_pkg_check_modules_internal)
  CMakeLists.txt:62 (pkg_check_modules)
-- checking for module 'rest-extras-0.6 >= 0.6'
--   package 'rest-extras-0.6 >= 0.6' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:266 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:320 (_pkg_check_modules_internal)
  CMakeLists.txt:63 (pkg_check_modules)
-- checking for module 'indicate >= 0.3'
--   found indicate , version 0.4.1
-- libindicate found, support enabled...
-- Configuring incomplete, errors occurred!
dh_auto_configure: cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_EXE_LINKER_FLAGS=-Wl,--as-needed returned exit code 1
make[1]: *** [override_dh_auto_configure] Error 2
make[1]: Leaving directory  /tmp/buildd/pino-0.3+hg~20101225'
So, OK. Build-depend on librest-dev and librest-extras-dev and problem solved I thought, but no. It kept giving this error even trying with librest-0.7-0 and lib-rest-extras-0.7-0 installed. Anyone can throw a light on this?

20 April 2010

John Goerzen: Moral obligations of Free Software authors?

I ve got a bit of a problem. I enjoy writing software. I often write software to solve some sort of problem that I ve had. Usually virtually any code I write winds up in my git repositories, on the theory that it might be useful to someone else. Some of the code that I think might really be useful to people gets even better treatment. OfflineIMAP, for instance, has a very comprehensive manpage, heavily commented example config file, wiki, mailing list, public bug tracker, etc. Most of these I did the majority of the work to create, but OfflineIMAP does occasionally receive code and documentation contributions from others. Now here s my dilemma. For my purposes, OfflineIMAP is, well, finished. It does everything I ever wanted it to do, and does it better than I ever expected it would. There are some people that would like it to do other things; for instance, optimize performance for IMAP folders with 100,000 messages in them, do UTF-8 folder name translation, and retry a sync if a connection is lost rather than crash (OfflineIMAP was designed to crash gracefully and be automated, so this has never bothered me.) None of these are features that I care about, and I don t have much time to devote to OfflineIMAP these days. It is not an interesting problem to me anymore as, well, I ve solved it already. Yet I ll be honest and say I feel guilty about the bug reports that are stacking up in the OfflineIMAP bug tracking system. OfflineIMAP is used by people that have an expectation for improvement. My efforts to hand over maintainership of OfflineIMAP have failed (the people have gone AWOL shortly after agreeing to maintain it). This problem is even more acute for hpodder, my command-line podcatcher. hpodder works great and is simple. But I no longer listen to podcasts. At all. (I blame my Kindle for that.) Therefore I no longer even use hpodder. Again, I feel guilty for not working on it; for instance, when language changes broke its UTF-8 support, I haven t gone in to fix it. Neither has anybody else, for that matter. This leads me to a dilemma. If I do nothing with my code but toss it on git.complete.org, few people will benefit from it. Most people need documentation, packages for their distribution, etc. git repos don t tend to show up highly in search engines. So, although technically I ve shared things with the world by putting them there, practically speaking I haven t done people many favors. On the other hand, if I go the whole responsible maintainer route, writing documentation, wiki, mailing list, Debian packages, etc., then I have the problem of, well, actual users who want actual support. I feel bad if I m not in a position to give it to them. Many people seem to have the expectation that software is never finished and will continue to be improved. (Ah, if only my name were Knuth I might stand a chance to evade that one. But only a chance, given all the TeX spinoffs.) This expectation, in turn, reduces my enthusiasm for publishing my code online as Free Software. Because now I can t just toss it up there and say help yourselves . Now I get angry emails about all the bug reports piling up. On the other hand, I also get occasional small contributions via my PayPal tip jar , which are awesome and motivating. Despite my grumbling, I do continue to maintain OfflineIMAP, primarily as a patch reviewer these days. I take an aggressive stance on quality, and when I get patches that add features without documentation, I usually write documentation for them before committing them. If I have evidence that a patch hurts quality, I yank it (as I had to do with IDLE support, which was a great feature, but the patch caused all sorts of stability problems due to its requirement of imaplib2.py). For that reason, I suspect, forks haven t taken off. So what s a person that writes niche software to do? OfflineIMAP isn t at the level of popularity of something like Gnome, or even debhelper, and never will be; its userbase consists of people that think that IMAP support in $MUA isn t good enough. hpodder is the somewhat small domain of console-loving podcast listeners. What are your suggestions? Should I abolish the bug trackers and just go for simple? Is there something more I could be doing to make the community feel more empowered? Is simple posting on git.complete.org not as bad as I thought?

3 April 2010

Russell Coker: Too Stupid to be a Bishop

A Stupid Bisop breaks the Godwin Rule The Sydney Morning Herald reports that Catholic Bishop Anthony Fisher has just claimed that GODLESSNESS and secularism led to Nazism, Stalinism, mass murder and abortion [1]. This is a violation of the rule part of Godwin s Law. We might not expect clerics to have enough general knowledge of society to know this rule, but it does seem reasonable to expect them to have enough empathy to understand why inappropriate Hitler analogies will just offend people and don t advance their cause. But anyone in a position of leadership in a global organisation who is going to talk to the media should have enough intelligence to check historical references. The Wikipedia article about Positive Christianity is worth reading, it includes references to Christian based race-hate in Nazi Germany as well as modern references [2]. There is also an interesting Wikipedia page about the Religious aspects of Nazism [3], there seems to be room for a lot of debate on the matter of how religion fit in to the Nazi regime but it seems quite clear that it was not an atheist regime. The Wikipedia page about the Rechskonkordat (the agreement between the Nazi Germany and the Catholic Church) is also worth reading [4]. Also I m sure that the Chilean Dictator Augusto Pinochet wasn t the only Catholic despot. Community Services and Moral Authority Cardinal Pell was quoted in the same SMH article as saying we find no community services sponsored by the atheists , of course if he was to investigate who is contributing to the religious based community service organisations he would find plenty of atheists. I know I m not the only atheist who donates to The Salvation Army [5] on occasion. I wonder how many religious people would be happy to donate to an explicitly atheist organisation, I suspect that the prevalence of religious charities is due to the fact that a religious charity can get money from both religious people and atheists while a charity that advocated atheism in any way would be limited to atheist donors. If I was to establish a community service charity I would seriously consider adding some religious element to help with fund raising it s just a matter of doing what s necessary to achieve the main goal. Even if it wasn t for violating Godwin s law and a total lack of any knowledge of history Anthony would still have failed. We all know the position of the Catholic Church on the sexual abuse of children. The Catholic policies are implemented in the same way in every country and as far as we can tell have been done so for all time. I believe that makes them unqualified to offer moral advice of any kind. Criticising the Secular World Peter Craven has written an article for The Age criticising the secular world [6]. He makes the extraordinary claim the molesting clergy are like the brutal policemen and negligent doctors and corrupt politicians: they come with the territory because pennies have two sides . The difference of course is that police, doctors, and politicians tend to get punished for doing the wrong thing even when they do things that are far less serious. But the molesting clergy seem to be protected by all levels of the church hierarchy. Peter makes some claims about the secular world as if there is a Borg collective of atheists and claims that there is an incomprehension of Christian values . I believe that the attitudes of atheists and the secular justice system correspond quite well with what most Christians would regard as Christian values the problem is that the actions of the church leaders tend not to match that. It s All About Money I would like to know why Christians almost never change church and never cease donating. Religious organisations are much like corporations, they seek new members and new revenue sources. If a significant number of Catholics were to pledge to not donate any money to their church for a year after every child sex abuse scandal then Catholic policies might change. Also if Catholics were to start changing to Christian denominations that do the right thing in regard to moral issues then the Catholic church would either change or eventually become irrelevant. If you keep paying people who do bad things then you are supporting them! I suggest that any church member who cares about the moral issues of the day should vote with their checkbook. If their church fails to do the right thing then inside the donation envelope they should put a note saying due to the immoral actions of the church I will donate to other charities . I am not aware of any church that would expel members for such a protest, but I know that some smaller parishes have cash-flow problems and would rapidly escalate the issue through the management chain if even a few members were to protest in such a manner.

1 March 2010

Diego Escalante Urrelo: GNOMEs in Chile

Update March 1st, 24 UTC: Reynaldo Verdejo is ok, the list is complete! Update March 1st, 16 UTC: Alejandro Vald s, Fabi n Arias, Carlos R os Vera and Germ n P o-Caama o have been in contact with others in Chile. :) Probably by now some of you know or are worried about the situation in Chile. I m not chilean nor in Chile but I ve been following closely due to the considerable number of good friends I have there, most of them related to GNOME.
From The Big Picture (AP Photo/Roberto Candia) Juan Carlos Inostroza (blog down) suggested I publish the list of GNOME/Free Software people in Chile that has reported since the earthquake and are fine, here it goes: Known, found and good: Not know, nor found, we presume good but without cellphones: If you have been in contact with any of them, leave a comment, send a DM in twitter (@diegoe) and etc. List is not complete, I probably forgot someone, please remind me. Will update if I get news from anyone.

31 December 2009

John Goerzen: My Reading List for 2010

I can hear the question now: What kind of guy puts The Iliad and War and Peace on a list of things to read for fun? Well, me. I think that reading things by authors I ve never read before, people that take positions I haven t heard of before or don t agree with, or works that are challenging, will teach me something. And learning is fun. My entire list for 2010 is at Goodreads. I ve highlighted a few below. I don t expect to read all 34 books on the Goodreads list necessarily, but there is the chance. The Iliad by Homer, 750BC, trans. by Alexander Pope, 704 pages. A recent NPR story kindled my interest in this work. I m looking forward to it. The Oxford History of the Classical World by Boardman, Griffin, and Murray, 1986, 882 pages. It covers ancient Greece and Rome up through the fall of the Roman empire. The Fires of Heaven (Wheel of Time #5) by Robert Jordan, 1994, 912 pages. I ve read books 1 through 4 already, and would like to continue on the series. War and Peace by Lev Leo Nikolayevich Tolstoy, 1869, 1392 pages. Been on my list for way too long. Time to get to it. Haven t read anything by Tolstoy before. The Politics of Jesus by John Howard Yoder, 1972, 2nd ed., 270 pages. Aims to dispel the notion of Jesus as apolitical. An Intimate History of Humanity by Theodore Zeldin, 1996, 496 pages. Picked this up at Powell s in Portland on a whim, and it s about time I get to it. The Myth of a Christian Nation: How the Quest for Political Power Is Destroying the Church by Gregory A. Boyd, 2007, 224 pages. An argument that the American evangelical church allowed itself to be co-opted by the political right (and some on the left) and argues this is harmful to the church. Also challenges the notion that America ever was a Christian nation. Daily Life in Ancient Rome: The People and the City at the Height of the Empire, by Jerome Carcopino, 2003, 368 pages. I ve always been fascinated with how things were on the ground rather than at the perspective of generals and kings, and this promises to be interesting. Slavery, Sabbath, War, and Women: Case Issues in Biblical Interpretation (Conrad Grebel Lectures) by Willard M. Swartley, 1983, 368 pages. Looking at how people have argued from different Biblical perspectives about various issues over the years. To the Lighthouse by Virginia Woolf, 1927, 252 pages. I can t believe I ve never read Woolf before. Yet another one I m really looking forward to. Tales of the Jazz Age by F. Scott Fitzgerald, 1922, 319 pages. Per Goodreads: This book of five confessional essays from the 1930s follows Fitzgerald and his wife Zelda from the height of their celebrity as the darlings of the 1920s to years of rapid decline leading to the self-proclaimed Crack Up in 1936. Ulysses by James Joyce, 1922 (1961 unabridged version), 783 pages. The Future of Faith by Harvey Cox, 2009, 256 pages. Per Goodreads, Cox explains why Christian beliefs and dogma are giving way to new grassroots movements rooted in social justice and spiritual experience. Heard about this one in an interview with Diane Rehm. Being There by Jerzy Kosi ski, 1970, 128 pages. Jesus: Uncovering the Life, Teachings, and Relevance of a Religious Revolutionary by Marcus Borg, 2006, 352 pages. Whether or not you agree with Borg, this has got to be a thought-provoking title. The Three Musketeers by Alexandre Dumas, 1844, 640 pages. The Book of Tea by Kakuzo Okakura, 1906, 154 pages. Per Goodreads: In 1906 in turn-of-the century Boston, a small, esoteric book about tea was written with the intention of being read aloud in the famous salon of Isabella Gardner. It was authored by Okakura Kakuzo, a Japanese philosopher, art expert, and curator. Little known at the time, Kakuzo would emerge as one of the great thinkers of the early 20th century, a genius who was insightful, witty and greatly responsible for bridging Western and Eastern cultures. Nearly a century later, Kakuzo s The Book of Tea is still beloved the world over. Interwoven with a rich history of tea and its place in Japanese society is poignant commentary on Eastern culture and our ongoing fascination with it, as well as illuminating essays on art, spirituality, poetry, and more. More of my list is at Goodreads.

28 September 2009

Zak B. Elep: Moving to Manila, Take 2

Ok, so I'm going ahead with my trip to Manila tomorrow, after my earlier delay. With a lot of relief efforts going on, I hope Manila's recovering now from Ondoy's onslaught. I'm both glad that the worst seems over, but sad for the loss of my fellow Filipinos, and worried about what seems to be more storms coming ahead. Thanks to everyone praying for Manila's recovery, and for me and my companions' safety. I'll be offline the whole day tomorrow as we make the 9-hour trip. I hope nothing bad happens.

11 March 2009

Wouter Verhelst: Debconf9 by train

With Debconf9 being on the european mainland this year, a plane flight isn't necessary. Since flying in cattle class isn't my idea of 'fun', I had been planning to take the train to Caceres this year. So, with the public announcement of debconf registration being open, I thought I'd look at train options. Short version: I think I'll be going to the train station and ask them there, rather than looking something up on the NMBS website. Long version:
TrajectoryDateDepartureArrivalTrain
Mechelen -> Brussels North2009-07-1307:0207:18IR 3128
Brussels North ->K ln Hbf2009-07-1307:2709:15ICE 11
K ln Hbf ->Mannheim Hbf2009-07-1309:5411:24ICE 515
Mannheim Hbf ->Basel SBB2009-07-1311:3613:47ICE 375
Basel SBB ->Arth-Goldau2009-07-1314:0315:45IR 2177
Arth-Goldau -> Milano Centrale2009-07-1315:5018:50CIS 21
Milano Centrale ->Barcelone Estacion de Franca2009-07-13/1419:4009:43EN 11274
Barcelona Estacion de Franca -> Barcelona Sants2009-07-1409:4310:28Transfer
Barcelona Sants -> Madrid-Puerta de Atocha2009-07-1412:0015:23AVE 3122
Madrid-Puerta de Atocha2009-07-1416:4020:02TLG 194
And that's after asking to arrive 'around' noon on the 15th. Although I'd love to combine ICE ('Intercity Express', German high-speed trains), CIS ('Cisalpino', Italian high-speed trains), EN ('EuroNight', pretty much what the name says), and AVE ('Alta Velocidad Espa a', Spanish high-speed trains) in a single trip, I think I'll pass for this particular suggestion. And that's ignoring the fact that 5 minutes for a transfer in Arth-Goldau (a place I've never heard of before, let alone been in that train station) is rather tight, and that I don't know whether I'll be able to make it in 45 minutes from one train station to another in Barcelona without actually knowing the city. More soon.

21 September 2008

Zak B. Elep: Saving Tagalog from d-i Translations Removal

Thanks to pabs's and bubulle's notice on both IRC and planet, I got wind on Tagalog's impending removal from the Debian-Installer translations. Having been quite inactive on my Debian work for a while, this provided me an opportunity to get back to it, even if it were only small stuff (compared to packaging.) In the nick of time, I submitted updates to sublevels 1 (505 translations) and 2 (511 translations) of the d-i tl_PH translations; doing it twice due to my first run missing out the fuzzy translation strings. I was fortunate that the missing and fuzzy string needing translation weren't many; most of the work has already been done by pusakat and the rest of the Debian-TL team. Kudos for them on starting this in the first place! There's still a lot of work to be done, and even in d-i itself there are the other sublevels needing Tagalog translation (3 and 5.) Kung may alam ka sa Tagalog at gusto mong gamitin itong wika sa Debian, wag mahiyang kunin ang mga talakdang kailangang isalin! Others (even fellow Filipinos) may find it impractical, but I think its a worthwhile effort, to make it as accessible as possible to our fellowmen having difficulties in English. All in all, it feels good to contribute again. :)

12 July 2008

Petr Rockai: fast forward

Lucy left for England yesterday (OK, now it’s two days ago — last Friday). That means that I have unusual amount of free time at my hands, and yet even more things that could be done with it. But I suppose it’s time to update this little blog. It’s probably pointless to enumerate what happened, or what changed. Everything is fine and smooth over here — the wrinkles get worked out over time (with Lucy, without Lucy). Hobbies still take time and I still haven’t given up. My latest determination is to get myself a bassoon for next Christmas. (Now, that will be a year since we got Lucy a Marigaux 901, used, in great condition for a great price, lo and behold, on Austrian ebay. World is so weird sometimes…) And in the land of [LVM], I have finally started the process to merge code to improve LVM’s behaviour in presence of failed storage hardware (physical volumes gone missing). In the land of Adept, well… first things first. FOSSCamp I have visited Prague for the latest Ubuntu- (well, Canonical-) organised event, the FOSSCamp. I have met Johnatan (KUbuntu), Seli (KWin), Lidya (Amarok), Robert (Konsole), Jos (Strigi) and Inge (KOffice). See also Johnatan’s Blog (including a real blurry picture). So back to Adept — I had some hacking time over there in Prague, and I have almost brought Installer and Updater back to life for Adept 3. I unfortunately didn’t have as much time for it since then — but my current free time situation does open up some possibilities. First and foremost, I should really make a text interface to the underlying libraries for myself, maybe with fancy colourful UI, hopefully one that is comfortably close enough to apt-get and still offers advantages. Hmmmm… Intermezzo 1 Now zoom out and zoom in somewhere else, enough of coding matters. Our research group at the University had a (tool) paper accepted for ATVA 2008, meaning that I am not unlikely to visit Seoul, South Korea in October. Another piece of distant world to visit. FOSDEM Now, that reminds me… Since the last time, I have also been in Belgium — to visit FOSDEM — meeting Alasdair (of LVM) and Bart and Pino of Krita and Okular, respectively… although unfortunately, I didn’t spend nearly enough time with Pino… At least we have spend a day walking around Ghent with Bart (and Lucy, who visited Belgium with me, also having friends of her own there). Moreover, I have spent a lot of mostly productive time with Alasdair, discussing LVM2. And Belgium is nice and pretty, although I didn’t really get around to taste any beer. Maybe next time. And Antwerps were nice, too. Photos? Someday. LinuxTag And after that, I have visited Berlin again, for LinuxTag as usual — plus the accompanying LVM discussions, with Milan, Kabi and Mikul (Blek) of the Czech part of the team, and Heinz, John and of course Alasdair for the rest of the world… Also as usual, we walked around, had dinners, discussed non-work stuff, etc… a good event all in all. At LinuxTag, I have briefly seen Lidya again, as well as Ossi (whom I nearly didn’t recognise…) and Aaron who (for a change) didn’t recognise me (but to be fair, I didn’t quite stop by to chat and he’s been busy…) and Sebas, cordial as ever (and always a pleasure to meet)… reminds me of Paris two years ago, too. Intermezzo 2 Less than a month ago, I have finished my first semester of master’s study — two or three more to go (I have completed bachelor’s the semester before). Yes, I am a bachelor of computer science, or something like that, anyway, now. Or so I hope. I did not attend the whatever ceremony and I don’t really have the diploma (or maybe I do, but gods know where it is…). A short note on Debian with best intentions I am now sponsoring Trent Buck’s ?darcs packages, contributing a little on the go (making me wish that alpha buildd would make a little more progress…). With Enrico, we have uploaded new versions of wibble and libept, both of which I think make both of us fairly happy. (Although we again managed to hit a way strange compiler issue (only manifested on arm… what have I done that the gods punish me so?), as documented in Debian bug 487406…) I have packaged dzen2 and taken over haskell-mode (I am losing track of my own packages again — I really need to set up reliable watch files so I don’t miss out too many releases… apparently neither has new upstream versions, so I can sleep peacefully for a little longer). Intermezzo 3 I am not going to DebConf nor Akademy this year. That makes me a little sad, but it’s all my own fault (and laziness). Next time folks, next time. I haven’t seen K vin in aeons and he probably removed me from his memory by now… No matter, I’ll try a little harder next year, promise (oh, how many have I made to date?). Finale Nothing grandiose, just best wishes to everyone, I have to land in bed now it seems, as I am ever so sleepy. (Just So Stories, anyone?) There I go.

4 July 2008

Gunnar Wolf: Wordle

Via Planetalinux.mx, I read this post by C sar Espino refering to Wordle.
Quoting from Wordle's main page:
Wordle is a toy for generating word clouds from text that you provide. The clouds give greater prominence to words that appear more frequently in the source text. You can tweak your clouds with different fonts, layouts, and color schemes. The images you create with Wordle are yours to use however you like. You can print them out, or save them to the Wordle gallery to share with your friends.
I could not resist it. I even went to a computer with a Java runtime installed.

The application is very nice and usable, although its startup time is frankly irritating (specially as there is no feedback on why it's not loading). Anyway, the results are quite beautiful!

31 May 2008

Kartik Mistry: KDE 4.1 beta migration


* Even I am on much needed unofficial vacation because of job transition (more on this later when its done!) and even after enough playing with Kavin, I had enough time to switch to KDE 4.1 beta (4.0.80). Here are my some points and experiences which may help you in migration. My Desktop with KDE 4.1beta * I assume that you are running Debian ;) * First, follow, ana’s detailed help to switch to KDE 4.1 beta. * Panel can be resized and configure now. That sliders are so sweet. But, if you find that your KDE desktop becomes ‘white’ as Gandalf the white, do following: mv ~/.kde4/share/config/plasmarc ~/.kde4/share/config/plasmarc.OLDANDHATED
mv ~/.kde4/share/config/plasma-appletsrc ~/.kde4/share/config/plasma-appletsrc.OLDANDHATED Thanks to pinotree for help! * kmail and friends (kontact..) will not be migrated properly, as they are using .kde, just cp -r .kde/share/apps to .kde4/share/apps will help. * I can find everything in kontact works perfect after migration. You just need to reconfigure your pop/smtp settings. I am figuring out why it wasn’t happen. Also, kaddressbook is missing all email address, but that should not be big issue as I have backup using Gmail’s web addressbook. * I just saw that Peter and Fathi (fabo) mentioned their experiences (and answers) too. pusling continues thread too ;)

13 May 2008

David Welton: Restaurants, immigrants, and the popularity of various cuisines

A little off-topic exercise conducted in the "eye of the storm", when Ilenia and Helen were still in the hospital: A post on Seth Robert's blog brings up the idea that many Chinese restaurants were opened as a way to go into business without competing with native male workers. The post made the rounds of several other online journals. That was the push I needed to get up and go collect a few statistics of my own, regarding an idea I've been kicking around for a while. My theory is that the number of restaurants of a given type, divided by the number of immigrants from that country might be an interesting way of guaging the popularity of the cuisine in question. In order to simplify things just a bit, I actually used data from Italy, for the following reasons: Unfortunately, finding out the number of restaurants of various types is far from an exact measurement, and since this is a quick fun project, I just went for Yahoo search (they deserve credit for keeping their search API open when Google's was closed) results on terms like "Ristorante Turco" (Turkish), "Ristorante Messicano" (Mexican), and so on. This was the most expedient means of gathering information quickly, but this approach does present a number of obvious problems, listed here in the hope that someone without diapers to change and a business to run might come up with some good answers: That said, for a quick project, this approach seemed to work out ok, and the results appear credible. Obviously, the results also reflect people discussing certain cuisines, rather than an actual number of restaurants, but since it does reflect interest, we'll use the number in any case. Since the number of restaurants/interest in a type of restaurant was clearly not correlated directly with the number of immigrants, other factors must come into play. For instance, "ristorante giapponese" turns up 125,000 hits, but the stats say only 6873 Japanese nationals live in Italy. As above, hits don't mean actual restaurants, but clearly Japanese cuisine is not being popularized through immigration. Here's my guess: these statistics show, to some degree, what people in the host country actually like to eat. Food that tastes good means more restaurants. Things that aren't that popular mean few restaurants, even if there are many immigrants. To pick on one country, there are many Philippino immigrants in Italy, but very few search hits - and anecdotally, I've never seen a Philippino restaurant in Italy either, whereas even smaller towns like Padova have Chinese, Mexican (well, it's called that, even if it's a shadow of the real thing), Japanese, various Arab and middle eastern restaurants, and even a few less common things like Eritrean. And I know that many native and foreign restaurants employ Philippino cooks. Below is the chart I whipped up showing the number of Yahoo hits per immigrant. The Italian names shouldn't be too hard to figure out. A few tricky ones: Giordano-Jordanian, Giamaicano-Jamaican, Spagnolo-Spanish. If you're interested in numbers or source code, contact me. Immigrants and Restaurants

30 April 2008

Pablo Lorenzzoni: Recording with Palm TX

I gave Brenda a Palm TX, so she can better organize her life. As a plus, it is wi-fi aware, so all sorts of interesting things can be done. Sadly, though, it doesn t ship with a microphone (I still wonder why it s large enough to hold an embedded mic, just as Palm smartphones have). Lately, Brenda was talking about recording some sessions or holding her thoughts in one of those tiny memo-recorders, and this promptly stroke me as another gadget to stuff her purse ... then I remembered having read that Palm TX have all that is required to hold a microphone, but the microphone I retrieved the Palm Multi-Connector pinout from Wikipedia and realized that all I had to do was attach an electret microphone to 16 and 17 pins and there we go. I ordered a charging cable just for the connector and here are the pictures I took of the building process: The tools and pieces I used: It s easy to disassemble the connector. Take a close look at the attaching plastic hooks there are four of them: two outside, near the pins, and two inside near the cable. Last two are harder to detach, but once you ve detached the first ones, just hold the two pieces of the connector and easily shear them: one side will detach first. The microphone have two terminals that already hold enough soldering tin. Beware to solder the blue cable (the one that goes with pin 16 AGND) to the marked terminal of the microphone, and the red one (the one that goes with pin 17 MIC_IN) to the unmarked one. (In the picture, my cables are all black, but the wires inside are red or blue . I could not get a good picture of the terminal markings). I have dissolded the charging cables from pins 1, 3, 5, and 8, but that is up to you (you can just cut the main cable and leave the pins untouched). Also, while soldering the microphone cables to the connector, beware of using as little tin as possible. It ll be even easier if you remove the pin from the connector it s easy to do if you have small pliers and careful fingers. Try first with one of the other pins that will not be used. Solder the red one to pin 17 and the blue one to pin 16. I cut a piece of an old earphone cushion to close the charging cable hole (and to protect the microphone). Here is the final result: Now, for the recording software, there s a nice free software that does that perfectly for PalmOS: Better Recorder. Now Brenda can record her mind!

28 April 2008

Joey Hess: quotes and reflections

The Bandwidth of Code:
Hell is Other People's Code is, perhaps, another way of saying that code is a terrible way to communicate with other human beings. Foreign code inspires a mixture of apprehension, anger and anxiety precisely because the bandwidth capacity of written code is so horrifying small. Enormous amounts of context, nuance, philosophy, history -- in short, knowledge -- is lost forever each time we try to translate our ideas and desires into program code. And this tremendous loss of knowledge looks to be unavoidable.
Since even Knuth has given up on literate programming as a general solution to this kind of problem, let me throw another possibility out there: Version control. It's not perfect, but you can get into someone's head by reading their mistakes and false tries in their version control history. This is why rebasing is bad. But also why it appeals to so many developers, who have no desire to let you inside their head. Steve Yegge Steve is very quotable. From Xemacs is dead, Long live Xemacs:
XEmacs should drop out of the race At this point it's becoming painful to watch. GNU Emacs is getting all the superdelegates. That warmonger VIM is sitting back and laughing at us. But XEmacs just won't quit!
And has some deep insights into the mind of an emacs user. From the Pinocchio Problem:
Viewed from a radical, yet possibly defensible perspective, a reboot is a murder.
And some things that ring true (or at least provide another excuse for not learning haskell properly). Also from the Pinocchio Problem:
There's nothing wrong with static type systems. You just have to realize that when you use them, you're building hardware, not software.
Best of all they're in these enormous long blog-rants of chapter length that discuss a topic in depth, then go out the other side. Great fun, even if you disagree with him. sad end SFGate reports:
Reiser is guilty of first-degree murder, the jury has found. He killed Nina with premeditation and deliberation and now faces 25 years to life in prison. Pressed to elaborate, Du Bois said, "I'm sure he negatively impressed the jurors."
Hans also mostly negatively impressed me the one time I met him (and the one time I emailed him). And the whole business of hiring Russian programmers to slave away at a filesystem with your name on it has always struck me as shady and disenfranchising. But, after reading Rick's excellent summaries of every day of the trial, I still have no idea if Reiser killed his wife, and indeed no clue if she's dead at all, or instead back in Russia with the children.

15 December 2007

Zak B. Elep: To Australia and Back: OSDC Brisbane 2007

Its been a couple of weeks since the Open Source Developers’ Conference in Brisbane, but it was only now that I’ve got the time to blog about it. :) This is due to some work that got piled in my backlog (I haven’t been lazy enough to have this work all automated yet :(). First off, my trip to Brisbane was a long one, due to the UNDP travel agency giving me a route taking me to Bangkok first, because of my exchange grant’s papers made in short notice. No matter: this being my first ever international trip, this meant that I would be visiting two different countries in just one shot. Bangkok was just an overnight stay though, so I didn’t see much, but their new airport was nevertheless impressive. Arriving there at almost midnight, the only bright places I saw were the big Suvarnabhumi airport and the Novotel where I had my layover. After some sleep, I had a pleasant morning, but only a short one at Bangkok, as my flight to Brisbane followed after: DSC06879.JPG The Brisbane flight was long, and I arrived just an hour before midnight. Now, my next problem was getting a place to stay. I took an airport shuttle to the Royal on the Park, where the conference will be held, first to see if there are any free rooms, or barring that, some recommendation on nearby places to stay, even if only for the night. I was quite anxious because I wasn’t able to arrange for accommodation prior to this trip (short notice, remember?), so I decided to go directly to the venue to be the best way of trying my luck. And try my luck it was! First, I was greeted by a front desk manager who turned out to be a fellow Filipino, and he helped me get a room in the hotel. At the time though, he could not guarantee that I can stay there for the duration of the trip (only for the night) but he would help me to find alternate accommodation instead on the next day. I thought that was good enough, since it was already midnight by the time I reached the hotel, and just a bed to sleep on for the night would do great for me to worry about moving elsewhere later. And the next day: Day 1 of OSDC: DSC06880.JPG I was up rather too early that day; the worrying about moving elsewhere settled in too early as well, and had made me check out very early so I can hopefully look for that alternate accommodation by lunchtime. One by one, the attendees came, and soon enough more than a couple of hundred people were filling the main conference room, waiting for OSDC to begin. And we began with a keynote from Rusty Russell on C, the humbling language and Ian Clatworthy’s talk on distributed version control systems. After the keynote, I was notified by the hotel management that instead of moving elsewhere, I can just remain there for the duration of the conference. I was quite relieved! For the remainder of the day, I listened in on the Perl stream of talks from Kirrily Robert, Josh Heumann, and Jacinta Richardson, on packaging Perl modules, Perl 6, and Perl code optimizations, respectively. Kirrily’s talk was timely since I am writing a couple of Perl modules to be released on the CPAN (one, Tie::Amazon::S3, is now up ;) On the morning Day 2, I listened in on Mark Rees’ talk on testing web applications using twill and a scripting language, like Python. I then followed Adam Kennedy’s talk on the CPAN 1.5, learning about CPAN::Mini, the CPANPLUS (which IIRC will be standard in Perl 5.10) and the Tiny modules in the process. More on the Perl stream continued with another talk from Josh Heumann on intermediate Perl testing, providing a humorous yet informative strategies not really just for testing Perl scripts or modules but for software testing in general: DSC06888.JPG Later in the afternoon was Paul King’s talk on agile developer practices for dynamic languages, covering Groovy and Ruby. That was later followed by Leslie Hawthorn’s talk about the Google Summer of Code and the announcement of the Highly Open Participation contest for the young geeks who are not yet in college or university but would like to work on open source projects just like the SoC-ers. After the day’s schedule of talks, there was a break before the conference dinner, allowing also for a short keysigning session and CACert identity check. Then, we had the conference dinner, sponsored by Google. There was also a game held: every table makes up a team who, given some Play-dohs and imagination, are to make up a bug’; the best bug’ wins a free book. Unfortunately, my table/team didn’t win any books, but that was beside the point anyway, as the bugs that were made up were quite something: DSC06898.JPG DSC06895.JPG On the last day, the morning talks I attended were all about Ruby and Rails. Nic Williams gave an introductory talk on Rails, then Paul King gave another talk, this time on Grails (the Java version of Rails,) and closing the morning session was Keith Pitty’s talk on Ruby for Java shops. For the afternoon, I followed Adam Kennedy’s talk on optimizing projects for wetware. DSC06936.JPG For the closing keynote, Nat Torkington talked about the future of software: DSC06945.JPG And with a day left before returning home, I went to sightseeing mode, bought a couple of books, and the mandatory pasalubong for the relatives. At midnight, my flight took me back to Bangkok, another long trip that touched down at the crack of dawn: DSC07034.JPG After a few hours’ wait, I took the plane back to Manila, returning home just after lunchtime. This being my first international trip, making it alone seemed to be quite an adventure. But I wasn’t really alone in this endeavor: kudos goes to the UNDP International Open Source Network for their exchange grant program, to my relatives for their support, to Free and Open Source Software for really making things rock (and free ;), and to $DEITY for being there. Until the next trip!

3 August 2007

Evan Prodromou: 15 Thermidor CCXV

It's been a few days since I posted on my blog -- since I left Montreal for Taipei and Wikimania 2007. My time has been upside-down and backwards as I've traveled around to the other side of the clock and a day into the future, and I've just been insanely busy with other work. My flight to Taipei was dreamy. I travelled enough last year to get Air Canada's "silver" frequent-flier level, which earned me a couple of system-wide upgrade certificates. They came in handy, since I bumped up to business class on the leg between Montreal and Vancouver, and then to the "Premier Laurel" class on the EVA Air codeshare between Vancouver and Taipei. That was first class across the Pacific Ocean, and man, it's the only way to fly. Jimmy Wales was on the same plane (but back in business class...), so we got to chat a bit and we shared a taxi to the conference site. Jimmy's really fun to talk to -- it's always nice talking to another entrepreneur who's passionately dedicated to Free and Open Content. (We were in line for customs together, too, and I tried to peek at his passport to find out his date of birth, over which there is some confusion. But he had his thumb over the day (intentionally...?), and all I got was "Aug 1966", which everyone agrees on anyways. Dang! My personal theory is that Jimmy was born on 6 June 1966 and uses 8 Aug 1966 instead to avoid the demonic stigma.) The conference centre we're in is great -- a really big, clean, modern place. It's nice when we're inside, but Taipei in August is muggy and hot like a laundromat in rural Mississippi. I find myself rushing between buildings. tags:

IM IN TAIPEI HACKING UR DAYS I came in a couple of days early to participate in the Hacking Days event. This is a pre-conference meetup for MediaWiki developers and those who love them. The meetup was really unstructured and fun because of it, although there were a few points of uncomfortable silence when people stopped talking and we all realized we had 14 more hours of meetings and not much left to say. There's also a real tension between the conference organizers, who've encouraged non-developers to come to Hacking Days, and the core developers who really want to just be left alone and get some work done. This year the 2-day event was split into "Hacking Days" and "Hacking Days Extra", with the first being invite-only and the second being open to all. I think it's a tension that needs to be resolved -- if outsiders aren't invited to Hacking Days, we just need to say that and live with it. We shouldn't let people think they're going to participate and then cut them out. That's a bait-and-switch tactic and it's unfair. I think that there's a need for an open-attendance MediaWiki conference; I also think that MW is a big enough piece of software that third-party conference organizers would be eager to make an MWCon work. And core developers could get hefty fees for coming to talk! tags:

Announcements I've been having problems sleeping here. I've been falling asleep at the wrong times and waking up at the very wrong time. Last night, I missed the Wikitravel Eat-together because I fell asleep at dinner time and didn't get up for the event. Make mental note: don't miss your favorite wiki's user get-together! Fortunately Jani covered for me and apparently the event was a lot of fun. Speaking of Jani: this morning he announced a new venture that Maj and I have been helping him with. Wikitravel Press is an independent company that will be publishing a line of printed travel guidebooks (yes, paper books! That you can hold in your hand!) based on Wikitravel content. I think it's a great project and I'm really glad we're going to finally be fulfilling this important goal of the Wikitravel project. I also think it's going to be a great way to attract a new round of contributors -- people who are more reliant on their paper guidebooks than to a search engine for learning about their destinations. I think that the idea that they can change and improve the books they have will be a really important incentive for these folks. And like it or not, there are still a lot of people who don't consider digital information "real" in the same way as analog-stored info. So putting Wikitravel guides on paper is like Pinocchio becoming a Real Boy. Thank you, Blue Fairy! More info at the project's announcement and the on-site discussion (Wikitravel:3 August 2007). tags:

Called out This morning's keynote address by the Wikimedia Foundation chairwoman Florence Devouard was informative and interesting. She even talked about ways to bring money into the Foundation... including selling books based on the site content. I was giggling about this with Jani as she moved on to talking about the attention economy, to hear, "For example, Evan is not paying attention right now and talking to his neighbour." D'oh! Lesson learned: don't mess with User:Anthere! tags:

22 July 2007

Jonathan McDowell: Logik IR100 Internet Radio

For a while now I've wanted a standalone internet radio; something that only required power and had wifi and would then stream audio from my desktop machine. A bit like the Slim Squeezebox but without the need to plug it into a HiFi setup. I'd found the range of devices based on the Reciva Barracuda module, but they all seemed a bit too expensive to impulse buy. Currys are now doing the Logik IR100, which uses this module, for £49.99, at which point I decided it was worth a look. I'd already done some investigation about the module. It runs Linux, Reciva do the Right Thing and make their code available, and it can have its firmware upgraded. There used to be a wiki of info, but it's disappeared recently. Richard Kalton has a blog of his progress - he's got a shell, but doesn't seem to have found any serial console pinouts and seems to have gained the info required to get a shell (which he doesn't disclose) from reading the flash off the board itself. 'bill888' also has a general Logik IR100 page. The radio itself seems quite consumer friendly. You plug it in, press the on button and tell it to search for networks. It then shows a list of ESSIDs which you can select from. It'll let you enter a WEP/WPA key if necessary, but I setup an unencrypted wireless network for testing. It then downloads a station list and you can chose what you want to listen to. Seems to do exactly what it says on the box. It doesn't support Oggs though. And all my music is Ogged. So I want in. As a first approach I'm trying not to take it apart - it doesn't seem like anyone's got serial access, or confirmed JTAG as working, so there doesn't seem to be anything to be gained by opening it up yet. So I decided to watch network traffic, in particular what it does when you ask it to check for new firmware. The initial request is for: http://copper.reciva.com/cgi-bin/service-pack.pl?serial=<serialno>;sp=<current service pack>&hw=<hardware id>&sv=<serial firmware>&check=1 This then sends a redirect to: reciva://copper.reciva.com:6000/service-pack/sp-wrap-cache/sp.255-c-158.tar Now reciva:// is an encrypted custom protocol it seems, that passes the serial number to the server, which then returns a challenge, which the device then hashes up and generates a session key, passes back to the server and asks for the file. You can see this in lib/rtp.c from the curl tarball on the Reciva GPL site. Unfortunately there are bits missing - several files (rtp_encrypt.h, rtp_encrypt.c, sernum.c) and it appears to want to talk to some sort of sernum daemon. As such I haven't been able to get a copy of the firmware upgrade tarball. :( However, if I could get one and have a look to see the format (is it a full file system image, or just changed files? Is it relative or absolute paths?) then I think it should be possible to build a new firmware image, hijack the connections to copper.reciva.com on my local network, and redirect to a http:// URL rather than a reciva:// URL, thus avoiding having to do the encryption stuff. Assuming, of course, that the upgrade isn't itself signed or encrypted. More prodding required...

28 March 2007

Zak B. Elep: What do you want most in an outgoing mailer?

[Note: I wrote this more than three weeks ago, but due to me being lazy again (yeah right) I’m just publishing this now. Well, here goes:] Due to a project working on (in Perl,) I’m asking the great Lazyweb for their great insight into the problem of sending outgoing mails. It all started when I was trying to set up my own mail system on my laptop perlis. After months of doing most of my mails under GMail and finding it impressive, but not quite adequate for my needs, I decided to go back to my old desktop workflow of downloading all my mails using ESR’s fetchmail over IMAP, and using my preferred MUA (Gnus, in this case ;-) to write my replies/posts/spam and send them using an MTA. However, since the time I’ve been checking my mails on revan, the amount of mail that I have been receiving has gone up to less than manageable proportions for my old system, so I had to revise my way of getting my email fix. Ultimately, I went on to use John Goerzen’s offlineimap to synchronize my IMAP Maildirs locally and do my mail stuff from there. No problem at the receiving front. On the sending of emails, I ran to a slight problem. I used to use an MTA to relay my mails to a smarthost for delivery, but since things have changed a bit (new ISP that blocks port 25, for one ;) I have to find some other means. Although I could probably configure my MTA to use (and authenticate to) a smarthost, I found that approach to be too heavy for comfort (even when using a special-purpose MTA such as masqmail.) Furthermore, I’d like to have more control on how I send my mails (like which mails using one of my email addresses should go to a particular smarthost.) So, here is my attempt to solve my problem: a small, user-configurable mail submission agent. It small because it is written in Perl, and makes the most out of it (being a Perl user means you gotta love CPAN ;) It’s user-configurable, involving a small INI-style file in the user’s home directory (I would prefer, however, to do away with tinkering with config-files altogether and do all configuration via some friendly interface.) It’s not much, but it works. And it’s working for the past three weeks or so now. I call it kartero because its the Spanish-Filipino word for postman (and yes, that’s exactly what my program does. It’s not much, but you can pick it up and try it yourself. Complaints; violent reactions: you know where to send them.

17 January 2007

David Welton: Clockwork languages

Steve Yegge posts an article about this that, the other thing, and statically typed functional programming languages. In it, he compares Haskell to something you can:
"build beautiful, lithe marionettes with"
Unfortunately, I haven't had the time or inclination to learn Haskell (yet), but I have used Erlang professionally, so I do have a bit of experience using a functional programming language. What comes to my mind isn't marionettes, but clockwork. That's a purposefully neutral word, in case you were wondering. An enthusiast might say "a finely crafted swiss watch", and a detractor might grumble "a windup toy". In my mind's eye, the concept is that in functional languages you get this succession of things happening one after the other that happen precisely the same way, if the program is wound up just the same each time. To paraphrase:
Do this with the result of this with what this produces when given  
this input that is derived from this function which takes the  
result of this other thing after calculating the result of 
something that is derived from the output of a function that ...
And so on and so forth...tick, tock, tick, tock. While I can appreciate that in some ways, this is likely to produce clean programming, in other ways I am less convinced of its practicality. If you'll bear with a poor comparison, sometimes programming is like a song. You do the tricky section, then you go back to an easier section and catch your breath for a bit. That seems to work out in a language like Ruby or Java fairly well, depending on how densely you like your code. You get sections with DoThisAndThisAndThatWithTheResultsOfSelectThisFromTableXYZ that you have to slow down to think through. And then: GoToTheNextTrickyBit where ManyThingsHappen. All in all, you wind up with a sort of ebb and flow that works out pretty well if you're in tune with the code being written, going from intense calculations, to a line or two where you do no more than store things in a variable, take a breather, and prepare for the next important stanza. In my limited experience, I have to say that I didn't always get that sensation from Erlang (which in some ways is apparently less "hair shirt" oriented than Haskell). You always had to be writing something with an eye to where it was coming from, and where it was going. Without a doubt, this produces code that is more compact in terms of meaning and functionality, but at times it leaves a guy like me, who grew up with Basic, C, Python, and so on with the desire to say "woah there, nelly", let's take a breather and sort things out a bit in a few variables before moving on to the next bit of fancy code gymnastics. What I'm curious about is what will catch on from academically oriented programming languages like Haskell. The people working on them are without doubt very smart, and there are some interesting concepts being bandied about (pattern matching is pretty cool, just to cite one). But academia doesn't always produce things that catch on with the average Joe programmer, either, and while the more elitist out there may attribute this to simplistic reasoning such as 'well then Joe is just stupid', I think that the more thoughtful language crafters will attempt to ascertain what works, and what doesn't, and perhaps we will see the Ruby of functional languages emerge from Haskell, the Smalltalk of functional languages. What do you think?

Next.

Previous.